Optical scanning, and in particular bar code scanning, is widely used in a variety of applications. In retail checkout applications in particular, a high throughput is often highly desirable. In order to achieve a high throughput, efficient decoding of bar codes is important. The occurrence of noise is a significant factor impairing the efficiency of efficient decoding. In some cases, noise influences may be mistaken for transitions in a bar code signal, thereby introducing decoding errors, requiring detection of such errors and possible repetition of a scan attempt. In other cases, noise influences may be identified, but require devotion of processing resources to identifying and compensating for the noise influences.
Most or all bar code scanners introduce noise into a scan at the occurrence of particular events that occur at predictable times during the scan. These events include mirror edge transitions as a laser beam strikes a spinning polygonal mirror used to generate scan beams, retro-reflections, noise resulting from irregularities in mirror surfaces as a laser beam or scan beam strikes these irregularities, noise resulting from the striking of irregular surfaces by reflected light reentering the scanner. These surfaces may include electronic circuit boards within the scanner. Numerous other possible events causing noise may occur. Many of these events occur at predictable times during generation of a scan pattern.